﻿using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using MySql.Data.MySqlClient; 

/// <summary>
/// Descripción breve de Usuario
/// </summary>
public class Usuario
{

    String usuario;
    String Contrasena;
    String Tipo_usuario;
    Boolean eliminado;

    Utileria util = new Utileria();

    public Usuario()
	{
		//
		// TODO: Agregar aquí la lógica del constructor
		//
        this.usuario="";
        this.Contrasena="";
        this.Tipo_usuario="";
        this.eliminado=false;
	}
    public Usuario(String usuario)
    {
        this.usuario = usuario;
        this.Contrasena = "";
        this.Tipo_usuario = "";
        this.eliminado = false;
    }
    public Usuario(String usuario, String Contrasena)
    {
        this.usuario = usuario;
        this.Contrasena = Contrasena;
        this.Tipo_usuario = "";
        this.eliminado = false;
    }
    public Usuario(String usuario, String Contrasena, String Tipo_usuario, Boolean eliminado)
    {
        this.usuario=usuario;
        this.Contrasena = Contrasena;
        this.Tipo_usuario = Tipo_usuario;
        this.eliminado = eliminado;

    }



    //SET
    public void set_usuario(String usuario)
    {
        this.usuario = usuario;
    }
    public void set_Contrasena(String Contrasena)
    {
        this.Contrasena = Contrasena;
    }
    public void set_Tipo_usuario(String Tipo_usuario)
    {
        this.Tipo_usuario = Tipo_usuario;
    }
    public void set_eliminado(Boolean eliminado)
    {
        this.eliminado = eliminado;
    }

    //GET
    public String get_usuario()
    {
        return this.usuario;
    }
    public String get_Contrasena()
    {
        return this.Contrasena;
    }
    public String get_Tipo_usuario()
    {
        return this.Tipo_usuario;
    }
    public Boolean get_eliminado()
    {
        return this.eliminado;
    }


    //METODOS DE USUARIO
    public Boolean buscar_usuario()
    {
        String buscar = "SELECT * FROM usuario WHERE Usuario='" + this.get_usuario() + "'AND Contrasena='"+this.get_Contrasena()+"' AND eliminado='0';";
        String contar = "SELECT COUNT(*) FROM  usuario WHERE Usuario='" + this.get_usuario() + "'AND Contrasena='" + this.get_Contrasena() + "' AND eliminado='0';";
        Boolean encontrado = false;
        MySqlConnection conexion = new MySqlConnection(util.conexion_app());
        try
        {
            conexion.Open();
            MySqlCommand comando = new MySqlCommand(buscar,conexion);
            MySqlCommand contador = new MySqlCommand(contar,conexion);
            int encontrados = Convert.ToInt16(contador.ExecuteScalar());
            if (encontrados > 0)
            {
                MySqlDataReader lectura = comando.ExecuteReader();
                while (lectura.Read())
                {
                    this.usuario = lectura.GetValue(0).ToString();
                    this.Contrasena = lectura.GetValue(1).ToString();
                    this.Tipo_usuario = lectura.GetValue(2).ToString();
                    this.eliminado = (Boolean)lectura.GetValue(3);
                }
                lectura.Close();
                encontrado = true;

            }
            else
            {
                encontrado = false;
            }
            conexion.Close();
            
                
        }
        catch (Exception x)
        {
            encontrado = false;
        }
        return encontrado;

    }
    public Boolean agregar_usuario()
    {
        Boolean agregado = false;
        String agregar = "INSERT INTO usuario(Usuario,Contrasena, TipoUsuario, eliminado)VALUES (@Usuario,@Contrasena,@TipoUsuario,@eliminado)";
        MySqlConnection conexion= new MySqlConnection(util.conexion_app());
        MySqlCommand comando = new MySqlCommand(agregar, conexion);
        comando.Parameters.Add("@Usuario", MySqlDbType.VarChar);
        comando.Parameters["@Usuario"].Value = this.get_usuario();
        comando.Parameters.Add("@Contrasena", MySqlDbType.VarChar);
        comando.Parameters["@Contrasena"].Value = this.get_usuario();
        comando.Parameters.Add("@TipoUsuario", MySqlDbType.VarChar);
        comando.Parameters["@TipoUsuario"].Value = this.get_Tipo_usuario();
        comando.Parameters.Add("@eliminado", MySqlDbType.Binary);
        comando.Parameters["@eliminado"].
    }


}
